import { BasicPageParams, BasicFetchResult } from '@/api/model/baseModel';
export interface listParams extends BasicPageParams {
  keyWord: string;
}

export interface ListItem {
  contactsName: string;
  contactsPhone: string;
  createTime: string;
  deployType: number;
  enabled: number;
  id: number;
  orgAbbreviation: string;
  orgCode: string | number;
  orgName: string;
  orgType: number;
  remark: string;
  sort: string;
  tenantCode: string;
  updateTime: string;
  validityTime: string;
  website: string;
  roomSize: string;
  residualSpace: string;
}

export type ListItemGetResultModel = BasicFetchResult<ListItem>;

export interface IAddOrUpdateOrgData {
  orgBasicsConfig: IOrgBasicsConfig;
  orgBasicsInfo: IOrgBasicsInfo;
}

export interface IOrgBasicsConfig {
  id?: number;
  orgCode: string;
  orgType: number;
  website: string;
  validityTime: string;
}

export interface IOrgBasicsInfo {
  id?: number;
  orgName: string;
  orgAbbreviation: string;
  address: string;
  provinceId: number;
  provinceName?: string;
  cityId: number;
  cityName?: string;
  areaId: number;
  areaName?: string;
  details: string;
  email: string;
  latitude: string;
  logo: string;
  longitude: string;
  officeTel: string;
  orgPicture: string;
  contactsName: string;
  contactsPhone: string;
  industryId: number;
}

export interface ICreatingDatabaseData {
  databaseIp?: string;
  databaseAccount?: string;
  databasePassword?: string;
  databasePort?: string;
  orgId: string | number;
  deployType: number;
}

export interface ITestDBData {
  databaseIp: string;
  databaseAccount: string;
  databasePassword: string;
  databasePort: string;
}

export interface IOrgDataSourceInfoVoResData {
  id: number;
  databasePort: string;
  databaseName: string;
  databaseAccount: string;
  databasePassword: string;
  deployType: number;
  executingState: number;
}

export interface IPaymenConfigUpdateData {
  orgId: string | number;
  weChatPay: boolean;
  qrCodeCollection: boolean;
  bankAccountCollection: boolean;
}

export interface IBrokerageConfigListResData {
  projectType: number;
  projectName: string;
  percent: number;
  remark: string;
}

export interface IOrgPermissionResData {
  orgCooperationConfigInfo: IOrgCooperationConfigInfo;
  orgCooperationResourceConfigInfo: IOrgCooperationResourceConfigInfo[];
  orgResourcePermissionInfo: IOrgResourcePermissionInfo[];
}

export interface IOrgCooperationConfigInfo {
  isOpenCooperation: number;
  freeCooperationNum: number;
  cooperationPrice: number;
}

export interface IOrgCooperationResourceConfigInfo {
  projectType: number;
  projectName: string;
  isOpen: number;
  price1: number;
  price2: number;
  percent: number;
}

export interface IOrgResourcePermissionInfo {
  projectType: number;
  projectName: string;
  isEnable: number;
  internalData: number | boolean;
  externalData: number | boolean;
  leagueData: number | boolean;
  remark: string;
}
